package cn.hls.dao;

import java.util.List;
import java.util.Map;

import cn.hls.entity.Car;
import cn.hls.entity.CertSet;
import cn.hls.entity.vo.PageInfo;


/**
 *@fileName: CarDao.java
 *@package: cn.hls.dao
 *@Description:  车辆基本信息数据接口类
 *@author: yinghui.zhang
 *@email: uuhui@163.com
 *@date: 2015-7-18
 */
public interface CarDao extends BaseDao<Car> {
	 
	/**
	 * 分页查询车辆基本信息信息
	 * 
	 * @param entity  车辆基本信息基本信息
	 * @param page 分页参数
	 * @return PageInfo<Org>
	 */
	PageInfo<Car> loadCarInfo(Car entity, PageInfo<Car> page) throws Exception;

	/**
	 * 根据查询条件查询车辆列表信息
	 * @param entity 查询对象
	 * @return List<Car>
	 * @throws Exception
	 */
	List<Car> loadCarList(Car entity)throws Exception;
	/**
	 * 判断车辆基本信息信息是否存在
	 * @param entity　车辆基本信息对象
	 * @return boolean
	 * @throws Exception 查询数据异常
	 */
	boolean exists(Car entity) throws Exception;

	/**
	 * 汇总统计车辆相关证件过期数
	 * @param companyId 企业编号
	 * @param cetSetMap 过期对象集合
	 * @return Map<String,Integer>
	 * @throws Exception
	 */

	Map<String,Integer>loadExpiredCar(Long companyId,Map<String,CertSet>cetSetMap)throws Exception;

	/**
	 * 查询 证件过期的车辆信息
	 * @param entity 车辆信息
	 * @param certSetMap 
	 * @return List<Car>
	 * @throws Exception
	 */
	List<Car> loadExpiredCarList(Car entity, Map<String, CertSet> certSetMap)
			throws Exception;
}
